openarenafandomcom-20200216-history
Manual/Demos
In OpenArena, a demo is a "recording" of a match, stored in file that can be later played by the game. This means that you can record your matches (from your own point of view when you are playing, or from someone else's point of view when you are spectating) and watch them later, inside OpenArena. If you wish, you can send the demo file to friends of yours that use the game. Demo playback elaborates 3D graphics in real-time (the machine does not work like when watching a movie, but like when playing the game): this allows demo files to maintain reasonable size, but they can be played only using OpenArena, and demos recorded with too much different versions of the game may have compatibility problems. However, they exist methods to create "movies" starting from demos, thus allowing video editing and video playing outside the game (third party software needed to play and modify AVI or similar video files). A demo file has got an extension like .dmXX, where XX is a number that changes when major updates to the game change the protocol version, for example a demo recorded with OpenArena 0.8.5 (which uses protocol 71) will have a .dm71 extension. Recording All the demo files you record one way or another will be saved to a "current-mod/demos" subfodlder under your "homepath folder", for example "~/.openarena/baseoa/demos/" (under Linux) or "~/Application Data/Open Arena/baseoa/demos/" (under Windows XP). If you are in one of the mods, for example CPMA, the demo directory is "cpma/demos/" instead of "baseoa/demos/". The demo files in the demos directory will show up in the demo list when you choose the "Demos" menu item. Classic way of recording a demo To record your own demo, bind two keys which you can use to start/stop the recording, for example: /bind o "record" /bind p "stoprecord" This method is good for short demos. This creates files with dumb names, like "demo0001.dm_70". Smarter way of recording a demo Use the following bindings instead if you want a new file to be started each time a game starts, so each game will be in its own file: /bind o "cl_autoRecordDemo 1" /bind p "cl_autoRecordDemo 0;stoprecord" This creates files with rich names, which contain the date, time, ip of the server you are connected to, and map name, which is useful. Automatically recording all your games If you want all your games to be recorded, each in its own file, use this command, which will make a persistent setting: /seta cl_autoRecordDemo 1 Recording a best-quality demo When you start recording, you will probably get a warning in the console, "WARNING: You should set 'g_synchronousClients 1' for smoother demo". If you leave it to 0, the demo might look crappy when viewed later. To record a best-quality demo, g_synchronousClients has to be set to 1, and has to remain 1 until you stop recording! Attention, using tricks like 'g_synchronousClients 1;record;g_synchronousClients 0' has no effect, it's the same as using 'record'! This is because g_synchronousClients change the way the game engine works, and if you start recording and then set g_synchronousClients to 0, it will act accordingly. Why don't we leave it to 1 all the time, then? Well, the problem when g_synchronousClients is set to 1 is that when you play, the gameplay will feel laggy. If you wonder why, search about the meaning of g_synchronousClients. So if you want to record a best-quality demo of a game you play, you should have a spectator (it can be even you on a second computer) spectating you, and that spectator will have to set g_synchronousClients to 1 and record the demo. Use this binding to toggle g_synchronousClients: /bind i "toggle g_synchronousClients" This way, you will enable or disable g_synchronousClients each time you will press the "i" key. Playing a demo You'll discover the demo browser in v0.8 completely sucks, especially if you have a lot of demos and they have long file names. You can use this command to play a demo: /demo Use TAB completion when writing the filename. This will work on the demos in the "baseoa/demos/" directory. On Linux, you can use this script to easily play a demo: http://openarena.ws/board/index.php?topic=2327.msg18231 When playing a demo, the only thing you can do is to bring down the console. Any other key you press will take you out of the demo. TODO: Mention binds which can be useful when playing a demo: timescale, cl_freezedemo, changing point of view. Advanced Export to a video file TODO: How to create an AVI file starting from a demo. Export to a sequence of image files TODO: How to export a demo to a series of screenshots. Server-side demos TODO: How to use server-side demos. Additional tools There are some tools that allow to do advanced tasks. * Quake 3 Moviemaker's Edition (a.k.a. Q3MME). This tool allows special camera options and more features. It is useful to create videos. You can find it here. It is for Quake III Arena, but here you can find some instructions about how to make it work with OpenArena; and here there is an alternative method. * OpenArena Moviemaker's Edition (a.k.a. OAMME) is derived from Q3MME, adapted to fit OpenArena. You can find the the site of the author here (you can find a configuration tutorial here), and the thread about it on the forum here. You can download Version 0.2 (172 MB), that includes a Windows executable, here. * GamersTV (a.k.a. GTV) allows to "retransmit" online matches, to allow more people to spectate them. It is for Quake III Arena (you can find it here), but it has been created an "hacked" version that works with OpenArena: you can find it here. Category:Manual Category:Tools